﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ThanhTu.GNCMedia.KQXS.DataAccess.DAL;
using ThanhTu.GNCMedia.KQXS.DataAccess.DO;
using System.Text.RegularExpressions;
using System.Data;

namespace WebUI.Admin
{
    public partial class AddNewData1 : System.Web.UI.Page
    {
        string chooseValue = "";
        ResultLotteryDAL resultLottery = null;
        ResultLotteryDO resultLotteryDO = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ProvinceDAL province = new ProvinceDAL();
                List<ProvinceDO> alldata = province.selectadd();

                ddl_tinh.DataSource = alldata;
                ddl_tinh.DataTextField = "princeName";
                ddl_tinh.DataValueField = "provinceID";
                ddl_tinh.DataBind();
            }
        }

        private bool checkDataResult(string variable1, string variable2, string variable3, string variable4, string variable5, string variable6)
        {
            bool checkResult = false;
            if (Regex.IsMatch(variable1, "^-?\\d*(d+)?$")
                && Regex.IsMatch(variable1, "^-?\\d*(d+)?$")
                && Regex.IsMatch(variable2, "^-?\\d*(d+)?$")
                && Regex.IsMatch(variable3, "^-?\\d*(d+)?$")
                && Regex.IsMatch(variable4, "^-?\\d*(d+)?$")
                && Regex.IsMatch(variable6, "^-?\\d*(d+)?$")
                 && Regex.IsMatch(variable6, "^-?\\d*(d+)?$"))
            {
                checkResult = true;
            }
            else
            {
                checkResult = false;
            }

            return checkResult;
        }

        private bool checkRangeNumber5digit(int number)
        {
            bool checkNumber = false;

            if (number > 10000 && number < 99999)
            {
                checkNumber = true;
            }
            else
            {
                checkNumber = false;
            }
            return checkNumber;
        }
        private bool checkRangeNumber4digit(int number)
        {
            bool checkNumber = false;

            if (number >= 1000 && number <= 9999)
            {
                checkNumber = true;
            }
            else
            {
                checkNumber = false;
            }
            return checkNumber;
        }
        private bool checkRangeNumber3digit(int number)
        {
            bool checkNumber = false;

            if (number >= 100 && number <= 999)
            {
                checkNumber = true;
            }
            else
            {
                checkNumber = false;
            }
            return checkNumber;
        }
        private bool checkRangeNumber2digit(int number)
        {
            bool checkNumber = false;

            if (number >= 10 && number <= 99)
            {
                checkNumber = true;
            }
            else
            {
                checkNumber = false;
            }
            return checkNumber;
        }

        private bool CheckIDprovince(string provinceID)
        {
            ResultLotteryDAL resultprovince = new ResultLotteryDAL();
            int rowncount = 0;

            foreach (DataRow item in resultprovince.SelectAll_KQ_User(1, 10, ref rowncount).Rows)
            {
                if (item["PROVINCE_ID"].Equals(provinceID))
                {
                    return false;
                }
            }
            return true;
        }

        protected void btn_addNewData_Click1(object sender, EventArgs e)
        {
            if (CheckIDprovince(ddl_tinh.SelectedValue))
            {

                if (txt_giaiDacbiet.Text.Equals("") || txt_giaiNhat.Text.Equals("") || txt_giaiNhi1.Text.Equals("")
                    || txt_giaiNhi2.Text.Equals("")
                    || txt_giaiBa1.Text.Equals("") || txt_giaiBa2.Text.Equals("") || txt_giaiBa3.Text.Equals("") || txt_giaiBa4.Text.Equals("") || txt_giaiBa5.Text.Equals("") || txt_giaiBa6.Text.Equals("")
                    || txt_giaiTu1.Text.Equals("") || txt_giaiTu2.Text.Equals("") || txt_giaiTu3.Text.Equals("") || txt_giaiTu4.Text.Equals("")
                    || txt_giaiNam1.Text.Equals("") || txt_giaiNam2.Text.Equals("") || txt_giaiNam3.Text.Equals("") || txt_giaiNam4.Text.Equals("") || txt_giaiNam5.Text.Equals("") || txt_giaiNam6.Text.Equals("")
                    || txt_giaiSau1.Text.Equals("") || txt_giaiSau2.Text.Equals("") || txt_giaiSau3.Text.Equals("")
                    || txt_giaiBay1.Text.Equals("") || txt_giaiBay2.Text.Equals("") || txt_giaiBay3.Text.Equals("") || txt_giaiBay4.Text.Equals("") ||
                    !Regex.IsMatch(txt_giaiDacbiet.Text, "^-?\\d*(d+)?$") ||
                        !Regex.IsMatch(txt_giaiNhat.Text, "^-?\\d*(d+)?$") ||
                        !Regex.IsMatch(txt_giaiNhi1.Text, "^-?\\d*(d+)?$") ||
                        !Regex.IsMatch(txt_giaiNhi2.Text, "^-?\\d*(d+)?$") ||
                        !checkDataResult(txt_giaiBa1.Text, txt_giaiBa2.Text, txt_giaiBa3.Text, txt_giaiBa4.Text, txt_giaiBa5.Text, txt_giaiBa6.Text) ||
                        !Regex.IsMatch(txt_giaiTu1.Text, "^-?\\d*(d+)?$") ||
                    !Regex.IsMatch(txt_giaiTu2.Text, "^-?\\d*(d+)?$") ||
                     !Regex.IsMatch(txt_giaiTu3.Text, "^-?\\d*(d+)?$") ||
                    !Regex.IsMatch(txt_giaiTu4.Text, "^-?\\d*(d+)?$") ||
                !checkDataResult(txt_giaiNam1.Text, txt_giaiNam2.Text, txt_giaiNam3.Text, txt_giaiNam4.Text, txt_giaiNam5.Text, txt_giaiNam6.Text) ||
                !Regex.IsMatch(txt_giaiSau1.Text, "^-?\\d*(d+)?$") ||
                 !Regex.IsMatch(txt_giaiSau2.Text, "^-?\\d*(d+)?$") ||
                  !Regex.IsMatch(txt_giaiSau3.Text, "^-?\\d*(d+)?$") ||
                  !Regex.IsMatch(txt_giaiBay1.Text, "^-?\\d*(d+)?$") ||
                    !Regex.IsMatch(txt_giaiBay2.Text, "^-?\\d*(d+)?$") ||
                    !Regex.IsMatch(txt_giaiBay3.Text, "^-?\\d*(d+)?$") ||
                    !Regex.IsMatch(txt_giaiBay4.Text, "^-?\\d*(d+)?$"))
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của các giải KHÔNG được RỖNG VÀ Phải là KIỂU SỐ');", true);
                }
                else
                {

                    if (!Regex.IsMatch(txt_giaiDacbiet.Text, "^-?\\d*(d+)?$") ||
                        !Regex.IsMatch(txt_giaiNhat.Text, "^-?\\d*(d+)?$") ||
                        !Regex.IsMatch(txt_giaiNhi1.Text, "^-?\\d*(d+)?$") ||
                        !Regex.IsMatch(txt_giaiNhi2.Text, "^-?\\d*(d+)?$") ||
                        !checkDataResult(txt_giaiBa1.Text, txt_giaiBa2.Text, txt_giaiBa3.Text, txt_giaiBa4.Text, txt_giaiBa5.Text, txt_giaiBa6.Text) ||
                        !Regex.IsMatch(txt_giaiTu1.Text, "^-?\\d*(d+)?$") ||
                    !Regex.IsMatch(txt_giaiTu2.Text, "^-?\\d*(d+)?$") ||
                     !Regex.IsMatch(txt_giaiTu3.Text, "^-?\\d*(d+)?$") ||
                    !Regex.IsMatch(txt_giaiTu4.Text, "^-?\\d*(d+)?$") ||
                !checkDataResult(txt_giaiNam1.Text, txt_giaiNam2.Text, txt_giaiNam3.Text, txt_giaiNam4.Text, txt_giaiNam5.Text, txt_giaiNam6.Text) ||
                !Regex.IsMatch(txt_giaiSau1.Text, "^-?\\d*(d+)?$") ||
                 !Regex.IsMatch(txt_giaiSau2.Text, "^-?\\d*(d+)?$") ||
                  !Regex.IsMatch(txt_giaiSau3.Text, "^-?\\d*(d+)?$") ||
                  !Regex.IsMatch(txt_giaiBay1.Text, "^-?\\d*(d+)?$") ||
                    !Regex.IsMatch(txt_giaiBay2.Text, "^-?\\d*(d+)?$") ||
                    !Regex.IsMatch(txt_giaiBay3.Text, "^-?\\d*(d+)?$") ||
                    !Regex.IsMatch(txt_giaiBay4.Text, "^-?\\d*(d+)?$"))
                    {

                        Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của các giải PHẢI  LÀ KIỂU SỐ');", true);
                    }
                    else
                    {
                        if (checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa1.Text)) &&
                            checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa1.Text)) &&
                                checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa1.Text)) &&
                                    checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa1.Text)) &&
                            checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa1.Text))
                        && checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa2.Text))
                        && checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa3.Text))
                        && checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa4.Text))
                        && checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa5.Text))
                        && checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa6.Text)))
                        {
                            if (checkRangeNumber4digit(Convert.ToInt32(txt_giaiTu1.Text)) &&
                            checkRangeNumber4digit(Convert.ToInt32(txt_giaiTu1.Text)) &&
                                checkRangeNumber4digit(Convert.ToInt32(txt_giaiTu1.Text)) &&
                                    checkRangeNumber4digit(Convert.ToInt32(txt_giaiTu1.Text)) &&
                            checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam1.Text))
                        && checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam2.Text))
                        && checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam3.Text))
                        && checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam4.Text))
                        && checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam5.Text))
                        && checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam6.Text)))
                            {
                                if (checkRangeNumber3digit(Convert.ToInt32(txt_giaiSau1.Text)) &&
                            checkRangeNumber3digit(Convert.ToInt32(txt_giaiSau2.Text)) &&
                                checkRangeNumber3digit(Convert.ToInt32(txt_giaiSau3.Text)))
                                {
                                    if (checkRangeNumber2digit(Convert.ToInt32(txt_giaiBay1.Text)) &&
                            checkRangeNumber2digit(Convert.ToInt32(txt_giaiBay2.Text)) &&
                                checkRangeNumber2digit(Convert.ToInt32(txt_giaiBay3.Text)) &&
                                         checkRangeNumber2digit(Convert.ToInt32(txt_giaiBay4.Text)))
                                    {
                                        int id_loaigiai = 0;
                                        string giaidacbiet = txt_giaiDacbiet.Text;
                                        string giainhat = txt_giaiNhat.Text;

                                        resultLottery = new ResultLotteryDAL();
                                        resultLotteryDO = new ResultLotteryDO();
                                        resultLotteryDO.ProvinceID = ddl_tinh.SelectedValue;
                                        resultLotteryDO.Opendate = DateTime.Now.Date;

                                        if (checkRangeNumber5digit(Convert.ToInt32(txt_giaiDacbiet.Text)))
                                        {
                                            id_loaigiai = 1;
                                            resultLotteryDO.KindOfawards = id_loaigiai;
                                            resultLotteryDO.Result = txt_giaiDacbiet.Text;
                                            resultLottery.add(resultLotteryDO);
                                        }
                                        else
                                        {

                                            Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của giải ĐẶC BIỆT phải có 5 số ');", true);
                                        }
                                        if (checkRangeNumber5digit(Convert.ToInt32(txt_giaiNhat.Text)))
                                        {
                                            id_loaigiai = 2;
                                            resultLotteryDO.KindOfawards = id_loaigiai;
                                            resultLotteryDO.Result = txt_giaiNhat.Text;
                                            resultLottery.add(resultLotteryDO);
                                        }
                                        else
                                        {
                                            Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của giải NHẤT phải có 5 số ');", true);
                                        }


                                        if (checkRangeNumber5digit(Convert.ToInt32(txt_giaiNhi1.Text)) && checkRangeNumber5digit(Convert.ToInt32(txt_giaiNhi2.Text)))
                                        {
                                            id_loaigiai = 3;
                                            resultLotteryDO.KindOfawards = id_loaigiai;
                                            resultLotteryDO.Result = txt_giaiNhi1.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiNhi2.Text;
                                            resultLottery.add(resultLotteryDO);
                                        }
                                        else
                                        {
                                            Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của giải NHÌ phải có 5 số ');", true);
                                        }

                                        if (checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa1.Text))
                                                              && checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa1.Text))
                                                               && checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa2.Text))
                                                               && checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa3.Text))
                                                               && checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa4.Text))
                                                               && checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa5.Text))
                                                               && checkRangeNumber5digit(Convert.ToInt32(txt_giaiBa6.Text)))
                                        {
                                            id_loaigiai = 4;
                                            resultLotteryDO.KindOfawards = id_loaigiai;
                                            resultLotteryDO.Result = txt_giaiBa1.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiBa2.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiBa3.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiBa4.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiBa5.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiBa6.Text;
                                            resultLottery.add(resultLotteryDO);
                                        }
                                        else
                                        {
                                            Page.ClientScript.RegisterStartupScript(this.GetType(), "showstatus", "javascript:alert('giá trị của giải ba  phải có 5 số');", true);
                                        }

                                        if (checkRangeNumber4digit(Convert.ToInt32(txt_giaiTu1.Text))
                          && checkRangeNumber4digit(Convert.ToInt32(txt_giaiTu2.Text))
                           && checkRangeNumber4digit(Convert.ToInt32(txt_giaiTu3.Text))
                           && checkRangeNumber4digit(Convert.ToInt32(txt_giaiTu4.Text)))
                                        {
                                            id_loaigiai = 5;
                                            resultLotteryDO.KindOfawards = id_loaigiai;
                                            resultLotteryDO.Result = txt_giaiTu1.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiTu2.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiTu3.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiTu4.Text;
                                            resultLottery.add(resultLotteryDO);
                                        }
                                        else
                                        {
                                            Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của giải TƯ phải có 4 số ');", true);
                                        }
                                        if (checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam1.Text))
                                && checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam2.Text))
                                 && checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam3.Text))
                                 && checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam4.Text))
                                    && checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam5.Text))
                                    && checkRangeNumber4digit(Convert.ToInt32(txt_giaiNam6.Text)))
                                        {
                                            id_loaigiai = 6;
                                            resultLotteryDO.KindOfawards = id_loaigiai;
                                            resultLotteryDO.Result = txt_giaiNam1.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiNam2.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiNam3.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiNam4.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiNam5.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiNam6.Text;
                                            resultLottery.add(resultLotteryDO);
                                        }
                                        else
                                        {
                                            Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của giải năm phải có 4 số ');", true);
                                        }

                                        if (checkRangeNumber3digit(Convert.ToInt32(txt_giaiSau1.Text))
                             && checkRangeNumber3digit(Convert.ToInt32(txt_giaiSau2.Text))
                              && checkRangeNumber3digit(Convert.ToInt32(txt_giaiSau3.Text)))
                                        {
                                            id_loaigiai = 7;
                                            resultLotteryDO.KindOfawards = id_loaigiai;
                                            resultLotteryDO.Result = txt_giaiSau1.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiSau2.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiSau3.Text;
                                            resultLottery.add(resultLotteryDO);

                                        }
                                        else
                                        {
                                            Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của giải sáu phải có 3 số ');", true);
                                        }
                                        if (checkRangeNumber2digit(Convert.ToInt32(txt_giaiBay1.Text))
                       && checkRangeNumber2digit(Convert.ToInt32(txt_giaiBay2.Text))
                        && checkRangeNumber2digit(Convert.ToInt32(txt_giaiBay3.Text))
                              && checkRangeNumber2digit(Convert.ToInt32(txt_giaiBay4.Text)))
                                        {
                                            id_loaigiai = 8;
                                            resultLotteryDO.KindOfawards = id_loaigiai;
                                            resultLotteryDO.Result = txt_giaiBay1.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiBay2.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiBay3.Text;
                                            resultLottery.add(resultLotteryDO);
                                            resultLotteryDO.Result = txt_giaiBay4.Text;
                                            resultLottery.add(resultLotteryDO);
                                            Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('cập nhật kết quả mới thành công ');", true);
                                        }
                                        else
                                        {

                                            Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của giải bảy phải có 2 số');", true);
                                        }
                                    }
                                    else
                                    {
                                        Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của giải Bảy phải  là 2 chữ số');", true);
                                    }
                                }
                                else
                                {
                                    Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của Sáu phải là 3 chữ số');", true);
                                }
                            }
                            else
                            {
                                Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của giải Tư và giải Năm phải là 4 chữ số');", true);
                            }


                        }
                        else
                        {
                            Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('giá trị của giải ĐẶC BIỆT ,giải NHÌ,giải Ba phải là kiểu Số và có độ dài 5 chữ số');", true);
                        }
                    }
                }
            }
            else
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowStatus", "javascript:alert('TỈNH NÀY ĐÃ CÓ KẾT QUẢ NGÀY HÔM NAY ,XIN VUI LÒNG CHỌN TỈNH KHÁC ');", true);
            }

        }

    }
}